#define EchoPin 8
#define TrigPin 9
unsigned long Time_Echo_us = 0;
unsigned long Len_mm = 0;

int data = 0;
int lenSum = 0;

void setup() {
 //Initialize
 Serial.begin(9600);
 pinMode(EchoPin,INPUT);
 pinMode(TrigPin,OUTPUT);

}

void loop() {

if(Serial.available()>0){
  
    data = Serial.read();
    
    if(data == 'H'){
      
  for(int i=0;i<3;i++){
  // 通过TrigPin发送脉冲，触发US_100测距
  digitalWrite(TrigPin,HIGH);
  delayMicroseconds(50);//设置脉冲宽度为50us(>10us)
  digitalWrite(TrigPin,LOW);//结束脉冲

lenSum = lenSum + pulseIn(EchoPin,HIGH);//计算US-100返回的脉冲宽度
 

  }

 Time_Echo_us = lenSum/5;
 lenSum = 0;
  
  if((Time_Echo_us<60000)&&(Time_Echo_us>1))//有效脉冲宽度（1,60000）
  {
    //Len_mm = (Time_Echo_us*0.34mm/us)/2(mm)
    Len_mm = (Time_Echo_us*34/100)/2;
//    Serial.print("Present Distance is: ");
    Serial.println(Len_mm,DEC);
//    Serial.println("mm");
    }
    delay(500);

  }
  }


    

}
